home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 22 Graphics & Utilities / BEDIT.DOC < prev    next >
Encoding:
Text File  |  2019-04-13  |  11.1 KB  |  356 lines

  1.          *  BLOCK EDIT.DOC  *
  2.  
  3. 1 INTRODUCTION
  4.  
  5.   THIS PROGRAM IS INTENDED MORE AS AN
  6. AID TO PROGRAMMING GRAPHICS THAN AS A
  7. THING UNTO ITSELF. I AM GOING TO BE
  8. ASSUMING A CERTAIN AMOUNT OF KNOW-
  9. LEDGE ON THE PART OF THE USER ABOUT THE
  10. C64'S PROGRAMMABLE CHARACTER GRAPHICS.
  11. IF YOU STILL HAVE SOMETHING TO LEARN
  12. ABOUT THE MACHINE (DON'T WE ALL), I
  13. CAN STRONGLY RECOMMEND MAPPING THE
  14. COMMODORE 64, BY SHELDON LEEMAN
  15. (COMPUTE! BOOKS). THE PROGRAMMER'S
  16. REFERENCE GUIDE FROM COMMODORE ALSO
  17. COVERS THE SUBJECT, BUT NOT AS CLEARLY.
  18.  
  19.   BLOCK EDIT IS INTENDED TO ALLOW THE
  20. EDITING AND SAVING OF CUSTOM CHARACTER
  21. SETS, BUT IT IS NOT ORIENTED TOWARD THE
  22. CREATION OF NORMAL SIZED, 8 BY 8 PIXEL
  23. CHARACTERS. INSTEAD, IT GROUPS THESE
  24. CHARACTERS IN BLOCKS OF 4 TO PRODUCE
  25. 16 BY 16 PIXEL, DOUBLE SIZED CHARACTERS,
  26. HENCEFORTH TO BE REFERRED TO AS BLOCKS.
  27. IT ALSO STORES A 256 BYTE 'COLORFILE'
  28. AFTER THE END OF THE CHARACTER SHAPE
  29. DATA, WITH AN INDIVIDUAL COLOR FOR EACH
  30. CHARACTER WITHIN THE SET. THIS ALSO
  31. ALLOWS INDIVIDUAL CHARACTERS TO BE
  32. EITHER 8 BY 8, HI RESOLUTION, 2 COLOR;
  33. OR 4(WIDE) BY 8, MULTICOLOR, 4 COLOR.
  34. THESE MODES CAN BE MIXED WITHIN A SINGLE
  35. BLOCK. FOR A QUICK EXAMPLE OF WHAT ALL
  36. THIS IS GOOD FOR, LOAD"BLOCK EDIT.O",8
  37. AND RUN IT. THE TITLE ITSELF IS ALL
  38. HI-RES, AND THE LITTLE FELLOW IS MULTI-
  39. COLOR.
  40.   BLOCK EDIT WAS WRITTEN IN ASSEMBLER,
  41. USING LEW LASHER'S VE2 TEXT EDITOR AND
  42. AS2 ASSEMBLER. THESE PROGRAMS ARE
  43. AVAILABLE ON THE BOSTON COMPUTER SOCIETY
  44. COMMODORE USER'S GROUP PUBLIC DOMAIN
  45. UTILITIES DISK # 3. THANKS, LEW.
  46.  
  47. 2 DEFINITIONS
  48.  
  49.   BLOCK: 4 CHARACTERS ARRANGED ON THE
  50. SCREEN IN A 2 BY 2 PATTERN. THE RELATIVE
  51. POSITION OF THE CHARACTERS WITHIN A
  52. BLOCK, BY SCREEN CODE, IS THIS:
  53.  
  54. BLOCK #0 0,1  #1 4,5 ...... #63 252,253
  55.          2,3     6,7            254,255
  56.  
  57.   CHARACTERSET: 2048 BYTES OF CHARACTER
  58. DATA (256 * 8), FOLLOWED BY A 256 BYTE
  59. COLORFILE. THIS EDITOR WILL SAVE FROM
  60. $800 (2048) TO $10FF (4351). IT WILL
  61. LOAD A SET FROM ANY SOURCE AT $800,
  62. REGARDLESS OF THE START ADDRESS IN THE
  63. FILE HEADER. A COLORFILE WILL BE 
  64. CREATED BY THE ACT OF SELECTING COLORS
  65. (CTRL N). LOADING A FILE LONGER THAN
  66. $900 (2304) BYTES LONG WILL WRITE OVER
  67. PART OF THE EDITOR, WITH UNPREDICTABLE
  68. RESULTS. FILES SAVED FROM THIS EDITOR
  69. WILL HAVE A START ADDRESS OF $800 IN
  70. THE HEADER. THE EDITOR USES PRG FORMAT
  71. FILES ONLY.
  72.  
  73.   COLORFILE: THE LAST 256 BYTES OF A
  74. CHARACTERSET, STARTING AT $1000,
  75. CONTAINING THE COLOR INFORMATION FOR
  76. EACH CHARACTER IN THE SET. BITS 0-2
  77. CONTAIN THE FOREGROUND COLOR, BIT 3
  78. DETERMINES MULTI-COLOR MODE (1 = ON),
  79. AND BITS 4-7 ARE NOT USED, EXCEPT IN
  80. THE FIRST 3 BYTES OF THE FILE. THESE
  81. THREE BYTES USE BITS 4-7 TO STORE, IN
  82. ORDER, THE BACKGROUND COLOR, MULTICOLOR
  83. 2, AND MULTICOLOR3.
  84.  
  85.   EDIT MODE: THE NORMAL OPERATING MODE
  86. OF THIS PROGRAM. AT THE TOP LEFT OF THE
  87. SCREEN WILL BE THE EDIT DISPLAY, A 16
  88. BY 16 CHARACTER DISPLAY OF THE CURRENT
  89. BLOCK. AT THE CENTER RIGHT OF THE SCREEN
  90. THE ACTUAL BLOCK WILL BE DISPLAYED. ON
  91. THE EDIT DISPLAY WILL BE A SMALL BOX
  92. WITH WHITE TOP AND BOTTOM, AND BLACK
  93. SIDES. THIS IS THE CURSOR, WHICH COVERS
  94. ONE PIXEL AT A TIME.
  95.  
  96.   HI-RES MODE: CHARACTER DATA IS
  97. DISPLAYED ONE BIT AT A TIME, WITH 1 BITS
  98. BEING FOREGROUND COLOR, AND 0 BITS
  99. BACKGROUND COLOR.
  100.  
  101.   MULTI-COLOR MODE: CHARACTER DATA IS
  102. DISPLAYED TWO BITS AT A TIME, WITH 00
  103. BIT PAIRS BACKGROUND COLOR, 01 BIT PAIRS
  104. MULTICOLOR2, 10 BIT PAIRS MULTICOLOR3,
  105. AND 11 BIT PAIRS FOREGROUND COLOR.
  106. HORIZONTAL RESOLUTION IS SACRIFICED FOR
  107. MORE COLORS, SINCE THE MULTICOLOR PIXELS
  108. ARE TWICE AS WIDE AS HI-RES ONES.
  109.  
  110. 3 USING THE EDITOR
  111.  
  112.   TO START UP: LOAD"BLOCK EDIT.O",8 THEN
  113. RUN. YOUR C64 MUST BE IN A NORMAL CON-
  114. FIGURATION AS FAR AS THE START OF BASIC
  115. GOES. IF YOU ARE IN ANY DOUBT, RESET THE
  116. MACHINE (RESET BUTTON, OR POWER OFF, OR
  117. SYS 64738) BEFORE LOADING.
  118.  
  119.   TO SKIP TITLE: LOAD PROGRAM, THEN SYS
  120. 4352
  121.  
  122.   AFTER THE TITLE, YOU WILL SEE A
  123. COMMAND SUMMARY. IN GENERAL, SINGLE
  124. KEYSTROKES DO EASILY REVERSIBLE THINGS,
  125. SUCH AS EDITING PIXELS, OR SELECTING THE
  126. BLOCK TO BE EDITED. CONTROL KEYS (CTRL
  127. PRESSED SIMULTANEOUSLY WITH ANOTHER KEY)
  128. WILL DO THINGS YOU'LL WANT TO BE MORE
  129. CAREFUL WITH, SUCH AS ERASING ENTIRE
  130. BLOCKS, OR LOADING A NEW CHARACTERSET
  131. OVER THE CURRENT ONE.
  132.   THE NEXT THING YOU WILL SEE IS THE
  133. LOAD ROUTINE PROMPT. IF YOU ARE STARTING
  134. A NEW SET, DOWNLOAD THE ROM CHARACTERS
  135. FIRST. SEE THE FINAL SECTION FOR WHY.
  136. OTHERWISE, LOAD THE SET YOU WANT TO WORK
  137. ON FROM DISK. IF YOU WANT TO SEE THE
  138. TITLE ROUTINE AND CHARACTERS, SELECT
  139. EITHER ROM OR DISK AND THEN RETURN TO 
  140. THE EDITOR. YOU WILL THEN HAVE TO USE
  141. CTRL N TO SET A COLOR, SINCE EVERYTHING
  142. IS INITIALIZED TO BLACK. AFTER THAT, A
  143. D COMMAND WILL DISPLAY THE CURRENT SET
  144. IN SOMETHING OTHER THAN BLACK ON BLACK.
  145.   THE BEST WAY TO LEARN THE EDIT MODE IS
  146. TO MESS AROUND WITH IT. ? WILL GIVE YOU
  147. BACK THE COMMAND SUMMARY WHEN IN EDIT,
  148. AND ALL OF THE NON EDIT MODES GIVE
  149. PROMPTS AND CAN BE BACKED OUT OF WITHOUT
  150. CHANGING ANYTHING.
  151.  
  152.   COMMANDS: EDIT MODE
  153.  
  154.   CURSOR KEYS: THESE WILL MOVE THE 
  155. CURSOR AROUND THE EDIT DISPLAY AT THE
  156. LEFT OF THE SCREEN. NOTE THAT THE CURSOR
  157. WILL GO OFF THE BOTTOM OR RIGHT OF THE
  158. DISPLAY, AND RETURN ON THE NEXT ROW OR
  159. COLUMN. AT THE TOP OR LEFT, THE CURSOR
  160. WILL STOP. THE MODE A GIVEN CHARACTER IS
  161. IN IS INDICATED BY THE CURSOR WIDTH. IT
  162. WILL AUTOMATICALLY SWITCH SIZE, DEPEND-
  163. ING ON THE PIXEL SIZE - SINGLE FOR HI-
  164. RES, AND DOUBLE FOR MULTI-COLOR.
  165.  
  166.   1,2,3,4: THESE WILL SET THE PIXEL
  167. UNDER THE CURSOR TO 1) BACKGROUND COLOR
  168. 2) MULTICOLOR2  3) MULTICOLOR3  4) FORE-
  169. GROUND COLOR. IF THE CHARACTER THE
  170. CURSOR IS ON IS IN HI-RES MODE, 2 AND 3
  171. WILL HAVE NO EFFECT.
  172.  
  173.   B: THIS WILL GO TO BLOCK SELECT MODE.
  174. IT WILL DISPLAY THE CURRENT BLOCK#, AND
  175. ALLOW YOU TO CHANGE THIS USING THE + AND
  176. - KEYS. IF YOU JUST WANT TO KNOW THE
  177. CURRENT BLOCK#, HIT B, THEN HIT RETURN
  178. WITHOUT USING + OR -.
  179.  
  180.   C: THIS WILL ALLOW YOU TO SELECT A NEW
  181. FOREGROUND COLOR FOR THE CHARACTER THAT
  182. THE CURSOR IS ON. USE + OR - TO SELECT
  183. THE COLOR# AND HIT RETURN. YOUR OPTIONS
  184. HERE ARE LIMITED TO THE FIRST EIGHT
  185. COLORS. THIS IS A TRADEOFF FOR THE
  186. MULTICOLOR CAPABILITY.
  187.  
  188.   D: THIS WILL DISPLAY THE ENTIRE SET.
  189. BLOCK# 0 IS AT THE UPPER LEFT, AND THE
  190. REST ARE IN NUMERIC ORDER TO BLOCK# 63
  191. AT THE LOWER RIGHT. HITTING ANY KEY WILL
  192. RETURN TO EDIT MODE.
  193.  
  194.   H: THIS WILL SET THE CHARACTER THAT
  195. THE CURSOR IS ON TO HI-RES MODE.
  196.  
  197.   M: THIS WILL SET THE CHARACTER THAT
  198. THE CURSOR IS ON TO MULTI-COLOR MODE.
  199.  
  200.   +: THIS WILL DISPLAY FOR EDIT THE NEXT
  201. HIGHER BLOCK.
  202.  
  203.   -: THIS WILL DISPLAY FOR EDIT THE NEXT
  204. LOWER BLOCK.
  205.  
  206.   ?: THIS WILL PRINT A COMMAND SUMMARY
  207. ON SCREEN.
  208.  
  209.   CTRL E: THIS WILL ERASE THE CURRENTLY
  210. SELECTED BLOCK.
  211.  
  212.   CTRL L: THIS WILL GO TO THE LOAD
  213. ROUTINE. YOU WILL BE GIVEN THE OPTION TO
  214. DOWNLOAD EITHER OF THE ROM CHARACTER
  215. SETS, OR TO LOAD A SET FROM DISK. ONCE
  216. YOU HAVE SELECTED ONE OR THE OTHER, YOU
  217. CAN RETURN TO EDIT MODE WITHOUT LOADING
  218. ANYTHING BY HITTING RETURN WITH NO FILE-
  219. NAME. NOTE THAT THIS ALSO WORKS FOR THE
  220. SAVE ROUTINE. IF A DISK ERROR OCCURS,
  221. THE ERROR# AND NAME WILL BE PRINTED, AND
  222. YOU WILL BE ASKED IF YOU WANT TO TRY
  223. AGAIN. A NO ANSWER WILL RETURN YOU TO
  224. THE EDIT MODE.
  225.  
  226.   CTRL N: THIS WILL ALLOW YOU TO SET NEW
  227. COLORS. THE FOREGROUND COLOR IS OPTION-
  228. AL, SINCE CHANGING THAT FOR THE WHOLE
  229. SET INVOLVES CHANGING ALL THE COLORFILE
  230. BYTES AND POSSIBLY LOSING MUCH INFOR-
  231. MATION IF YOU HAVE BEEN VARYING COLOR ON
  232. AN INDIVIDUAL CHARACTER BASIS. THE
  233. BACKGROUND AND MULTICOLORS ARE GLOBAL
  234. IN ANY CASE, INVOLVING THE SETTING OF
  235. THE BACKGROUND COLOR REGISTER AT $D021
  236. (53281), THE COLOR REGISTERS AT
  237. $D022 (MULTICOLOR2) AND $D023 (MULTI-
  238. COLOR3), AND THE SETTING OF THE FIRST
  239. THREE BYTES OF THE COLORFILE.
  240.  
  241. CTRL S: THIS WILL GO TO THE SAVE
  242. ROUTINE. IF YOU WANT TO WRITE OVER AN
  243. EXISTING FILE, ADD '@0:' TO THE START
  244. OF THE FILENAME. IF A DISK ERROR OCCURS,
  245. THE ERROR# AND NAME WILL BE PRINTED, AND
  246. YOU WILL BE ASKED IF YOU WANT TO TRY
  247. AGAIN. A NO ANSWER WILL RETURN YOU TO
  248. THE EDIT MODE.
  249.  
  250.   CTRL T: THIS WILL TRANSFER THE
  251. CURRENTLY SELECTED BLOCK TO A NEW
  252. LOCATION. THE ROUTINE WILL ASK YOU TO
  253. SELECT THE NEW LOCATION. IT IS A GOOD
  254. IDEA TO USE THE D COMMAND TO FIGURE OUT
  255. WHAT YOU WANT WRITTEN OVER BEFORE DOING
  256. A TRANSFER. THE BLOCK YOU TRANSFER ALSO
  257. STAYS IN ITS OLD LOCATION, AND THE BLOCK
  258. THAT WAS AT THE NEW LOCATION IS LOST.
  259.  
  260.   CTRL X: THIS WILL EXIT TO EITHER A
  261. MONITOR (OR OTHER PROGRAM) AT $C000
  262. (49152), OR IT WILL COLDSTART BASIC
  263. BY DOING A JMP $FCE2 (64738).
  264. IF YOU WANT TO RESTART THE EDITOR,
  265. FROM A MONITOR IT WOULD TAKE G 1100.
  266. FROM BASIC TRY SYS 4352. THIS ALL
  267. ASSUMES THAT YOU HAVEN'T OVERWRITTEN
  268. IT IN THE MEANTIME.
  269.  
  270.   IN GENERAL, COMMANDS THAT REQUIRE
  271. FURTHER INPUT FROM YOU WILL PROMPT YOU
  272. AS THEY PROCEED. SINGLE LETTER RESPONSES
  273. WON'T NEED A RETURN AFTER THEM.
  274.  
  275. 4 USING THE BLOCKS
  276.  
  277.   YOU SHOULD HAVE GOTTEN A THREE PART,
  278. BASIC LANGUAGE DEMO WITH THIS. THE FIRST
  279. PART, BLOCK.DEMOSTART, IS A ONE LINE
  280. PROGRAM THAT SETS THE START OF BASIC TO
  281. 4352, JUST PAST THE END OF THE COLOR-
  282. FILE, AND LOADS THE SECOND PART, BLOCK.
  283. DEMO . THIS THEN LOADS THE CHARACTERSET
  284. DEMOSET, SETS UP THE COLORS, AND SHOWS
  285. THE DEMO.
  286.   FEEL FREE TO USE THESE ROUTINES TO
  287. WRITE YOUR OWN PROGRAMS AROUND. THEY ARE
  288. EXTENSIVELY REM'D AND FAIRLY MODULAR.
  289. ONE WARNING - THE BLOCK DRAW ROUTINE
  290. (LINE 9000) WRITES DIRECT TO THE SCREEN
  291. AND COLOR MEMORIES, AND THE X, Y, AND
  292. BLOCK# VALUES ARE NOT RANGECHECKED. IF
  293. YOU PASS VALUES OUTSIDE THE LEGAL RANGE,
  294. YOU WILL EITHER WRITE TO THE WRONG PLACE
  295. OR PRODUCE AN ILLEGAL QUANTITY ERROR.
  296.   IF YOU ARE PROGRAMMING IN SOME OTHER
  297. LANGUAGE, THE DEMO SHOULD STILL BE
  298. USEFUL TO YOU IN TERMS OF SHOWING WHAT
  299. SHOULD HAPPEN WHEN IN ORDER TO DISPLAY
  300. BLOCKS.
  301.   IF YOU NEED TO HAVE NORMAL TEXT AND
  302. BLOCKS ON SCREEN AT THE SAME TIME, THE
  303. BEST WAY TO GO ABOUT IT IS TO PRESERVE
  304. THE NORMAL CHARACTERS THAT YOU WILL
  305. NEED WHEN YOU EDIT THE SET. IF YOU DON'T
  306. CHANGE THE FIRST 16 BLOCKS DOWNLOADED
  307. FROM ROM, YOU WILL BE ABLE TO PRINT THE
  308. FIRST 64 CHARACTERS NORMALLY AND STILL
  309. HAVE 48 BLOCKS (# 16-63) AVAILABLE.
  310.  
  311. 5 LIMITATIONS
  312.   YOU WILL HAVE NOTICED BY NOW THAT
  313. YOU DON'T SEE TEXT AND BLOCKS AT THE
  314. SAME TIME IN THE EDITOR. THIS IS BECAUSE
  315. I'M TOO LAZY TO DO THE SORT OF INTERRUPT
  316. DRIVEN ROUTINE THAT WOULD BE NEEDED TO
  317. SWITCH FROM RAM TO ROM SETS IN MID
  318. SCREEN, AND SINCE THIS IS AN EDITOR
  319. THERE IS NO CERTAINTY THAT THE RAM SET
  320. CURRENTLY BEING USED WILL CONTAIN ANY
  321. PARTICULAR CHARACTER. AHAH! YOU WILL
  322. SAY - WHAT DOES HE USE TO PRODUCE THE
  323. EDIT DISPLAY? THE ANSWER IS THE LAST 4
  324. CHARACTERS IN THE SET. CHARACTERS 252-
  325. 255 ARE SET TO THE PROPER SHAPES TO
  326. DISPLAY SOLID BLOCKS OF ALL 4 COLORS
  327. WHEN THE ROM SET IS DOWNLOADED. THE
  328. RESULT IS THAT IF YOU GO TO BLOCK #63
  329. AND START EDITING IT, VERY PECULIAR
  330. THINGS HAPPEN TO THE EDIT DISPLAY.
  331. NOTE THAT THIS DOES NOT AFFECT EITHER
  332. THE ACTUAL BLOCK DISPLAYED ON THE RIGHT,
  333. OR THE SET IN MEMORY (BEYOND THE EDIT
  334. CHANGES THEMSELVES). WHAT THIS ALL MEANS
  335. IS THAT YOU WILL HAVE TO LEAVE #63 TO
  336. LAST, AND ALSO THAT IF YOU LOAD A SET
  337. FROM SOME OTHER SOURCE YOU WILL WANT TO
  338. GO TO #63 FIRST AND CHANGE IT TO THE
  339. EDIT SHAPES.
  340.  
  341.   I'D BE INTERESTED IN HEARING ANYTHING
  342. YOU COME UP WITH IN THE WAY OF BUGS,
  343. QUESTIONS, SUGGESTIONS,ETC. I WOULD LOVE
  344. TO SEE ANY APPLICATIONS YOU COME UP
  345. WITH. I WILL GUARANTEE AN (ATTEMPTED)
  346. ANSWER TO ANY QUESTIONS SENT WITH A
  347. SASE. MY ADDRESS IS:
  348.  
  349.                 HENRY VANDERBILT
  350.                 804 PARKER ST.
  351.                 BOSTON,MA. 02120
  352.  
  353.   I CAN OCCASIONALLY BE REACHED BY
  354. PHONE AT 617 442-5295. I CAN HANDLE
  355. XMODEM FILE TRANSFERS AT 300 BAUD.
  356.